home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / SETUP / US / CBUILDER / DATA.Z / SHLOBJ.HPP < prev    next >
C/C++ Source or Header  |  1997-02-13  |  17KB  |  534 lines

  1. //----------------------------------------------------------------------------
  2. // ShlObj.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: ShlObj.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef ShlObjHPP
  6. #define ShlObjHPP
  7. //----------------------------------------------------------------------------
  8. #include <Messages.hpp>
  9. #include <RegStr.hpp>
  10. #include <ShellAPI.hpp>
  11. #include <CommCtrl.hpp>
  12. #include <OLE2.hpp>
  13. #include <Windows.hpp>
  14. #include <System.hpp>
  15. #pragma warn -par
  16. #pragma warn -hid 
  17. #pragma warn -inl
  18.  
  19. namespace Shlobj
  20. {
  21. //-- type declarations -------------------------------------------------------
  22. struct TSHItemID;
  23. typedef TSHItemID *PSHItemID;
  24.  
  25. #pragma pack(push, 1)
  26. struct TSHItemID
  27. {
  28.     Word cb;
  29.     Byte abID[1];
  30. } ;
  31. #pragma pack(pop)
  32.  
  33. #pragma pack(push, 1)
  34. struct TItemIDList
  35. {
  36.     TSHItemID mkid;
  37. } ;
  38. #pragma pack(pop)
  39.  
  40. typedef TItemIDList *PItemIDList;
  41.  
  42. struct TCMInvokeCommandInfo;
  43. typedef TCMInvokeCommandInfo *PCMInvokeCommandInfo;
  44.  
  45. #pragma pack(push, 1)
  46. struct TCMInvokeCommandInfo
  47. {
  48.     int cbSize;
  49.     int fMask;
  50.     HWND hwnd;
  51.     char *lpVerb;
  52.     char *lpParameters;
  53.     char *lpDirectory;
  54.     int nShow;
  55.     int dwHotKey;
  56.     int hIcon;
  57. } ;
  58. #pragma pack(pop)
  59.  
  60. class __declspec(delphiclass) IContextMenu;
  61. class __declspec(pascalimplementation) IContextMenu : public Ole2::IUnknown
  62. {
  63.     typedef Ole2::IUnknown inherited;
  64.     
  65. public:
  66.     virtual long __stdcall QueryContextMenu(HMENU Menu, int indexMenu, int idCmdFirst, int idCmdLast, int 
  67.         uFlags) = 0;
  68.     virtual long __stdcall InvokeCommand(TCMInvokeCommandInfo &lpici) = 0;
  69.     virtual long __stdcall GetCommandString(int idCmd, int uType, PUINT pwReserved, char * pszName, int 
  70.         cchMax) = 0;
  71. public:
  72.     /* TObject.Create */ __fastcall IContextMenu(void) : Ole2::IUnknown() { }
  73.     /* TObject.Destroy */ __fastcall virtual ~IContextMenu(void) { }
  74.     
  75. };
  76.  
  77. class __declspec(delphiclass) IShellExtInit;
  78. class __declspec(pascalimplementation) IShellExtInit : public Ole2::IUnknown
  79. {
  80.     typedef Ole2::IUnknown inherited;
  81.     
  82. public:
  83.     virtual long __stdcall Initialize(PItemIDList pidlFolder, Ole2::IDataObject* lpdobj, HKEY hKeyProgID
  84.         ) = 0;
  85. public:
  86.     /* TObject.Create */ __fastcall IShellExtInit(void) : Ole2::IUnknown() { }
  87.     /* TObject.Destroy */ __fastcall virtual ~IShellExtInit(void) { }
  88.     
  89. };
  90.  
  91. class __declspec(delphiclass) IShellPropSheetExt;
  92. class __declspec(pascalimplementation) IShellPropSheetExt : public Ole2::IUnknown
  93. {
  94.     typedef Ole2::IUnknown inherited;
  95.     
  96. public:
  97.     virtual long __stdcall AddPages(Commctrl::TFNAddPropSheetPage lpfnAddPage, long lParam) = 0;
  98.     virtual long __stdcall ReplacePage(int uPageID, Commctrl::TFNAddPropSheetPage lpfnReplaceWith, long 
  99.         lParam) = 0;
  100. public:
  101.     /* TObject.Create */ __fastcall IShellPropSheetExt(void) : Ole2::IUnknown() { }
  102.     /* TObject.Destroy */ __fastcall virtual ~IShellPropSheetExt(void) { }
  103.     
  104. };
  105.  
  106. class __declspec(delphiclass) IExtractIcon;
  107. class __declspec(pascalimplementation) IExtractIcon : public Ole2::IUnknown
  108. {
  109.     typedef Ole2::IUnknown inherited;
  110.     
  111. public:
  112.     virtual long __stdcall GetIconLocation(int uFlags, char * szIconFile, int cchMax, int &piIndex, int 
  113.         &pwFlags) = 0;
  114.     virtual long __stdcall Extract(char * pszFile, int nIconIndex, HICON &phiconLarge, HICON &phiconSmall
  115.         , int nIconSize) = 0;
  116. public:
  117.     /* TObject.Create */ __fastcall IExtractIcon(void) : Ole2::IUnknown() { }
  118.     /* TObject.Destroy */ __fastcall virtual ~IExtractIcon(void) { }
  119.     
  120. };
  121.  
  122. class __declspec(delphiclass) IShellLink;
  123. class __declspec(pascalimplementation) IShellLink : public Ole2::IUnknown
  124. {
  125.     typedef Ole2::IUnknown inherited;
  126.     
  127. public:
  128.     virtual long __stdcall GetPath(char * pszFile, int cchMaxPath, WIN32_FIND_DATAA &pfd, int fFlags) = 0
  129.         ;
  130.     virtual long __stdcall GetIDList(PItemIDList &ppidl) = 0;
  131.     virtual long __stdcall SetIDList(PItemIDList pidl) = 0;
  132.     virtual long __stdcall GetDescription(char * pszName, int cchMaxName) = 0;
  133.     virtual long __stdcall SetDescription(char * pszName) = 0;
  134.     virtual long __stdcall GetWorkingDirectory(char * pszDir, int cchMaxPath) = 0;
  135.     virtual long __stdcall SetWorkingDirectory(char * pszDir) = 0;
  136.     virtual long __stdcall GetArguments(char * pszArgs, int cchMaxPath) = 0;
  137.     virtual long __stdcall SetArguments(char * pszArgs) = 0;
  138.     virtual long __stdcall GetHotkey(Word &pwHotkey) = 0;
  139.     virtual long __stdcall SetHotkey(Word wHotkey) = 0;
  140.     virtual long __stdcall GetShowCmd(int &piShowCmd) = 0;
  141.     virtual long __stdcall SetShowCmd(int iShowCmd) = 0;
  142.     virtual long __stdcall GetIconLocation(char * pszIconPath, int cchIconPath, int &piIcon) = 0;
  143.     virtual long __stdcall SetIconLocation(char * pszIconPath, int iIcon) = 0;
  144.     virtual long __stdcall SetRelativePath(char * pszPathRel, int dwReserved) = 0;
  145.     virtual long __stdcall Resolve(HWND Wnd, int fFlags) = 0;
  146.     virtual long __stdcall SetPath(char * pszFile) = 0;
  147. public:
  148.     /* TObject.Create */ __fastcall IShellLink(void) : Ole2::IUnknown() { }
  149.     /* TObject.Destroy */ __fastcall virtual ~IShellLink(void) { }
  150.     
  151. };
  152.  
  153. class __declspec(delphiclass) ICopyHook;
  154. class __declspec(pascalimplementation) ICopyHook : public Ole2::IUnknown
  155. {
  156.     typedef Ole2::IUnknown inherited;
  157.     
  158. public:
  159.     virtual int __stdcall CopyCallback(HWND Wnd, int wFunc, int wFlags, char * pszSrcFile, int dwSrcAttribs
  160.         , char * pszDestFile, int dwDestAttribs) = 0;
  161. public:
  162.     /* TObject.Create */ __fastcall ICopyHook(void) : Ole2::IUnknown() { }
  163.     /* TObject.Destroy */ __fastcall virtual ~ICopyHook(void) { }
  164.     
  165. };
  166.  
  167. class __declspec(delphiclass) IFileViewerSite;
  168. class __declspec(pascalimplementation) IFileViewerSite : public Ole2::IUnknown
  169. {
  170.     typedef Ole2::IUnknown inherited;
  171.     
  172. public:
  173.     virtual long __stdcall SetPinnedWindow(HWND Wnd) = 0;
  174.     virtual long __stdcall GetPinnedWindow(HWND &Wnd) = 0;
  175. public:
  176.     /* TObject.Create */ __fastcall IFileViewerSite(void) : Ole2::IUnknown() { }
  177.     /* TObject.Destroy */ __fastcall virtual ~IFileViewerSite(void) { }
  178.     
  179. };
  180.  
  181. struct TFVShowInfo;
  182. typedef TFVShowInfo *PFVShowInfo;
  183.  
  184. #pragma pack(push, 1)
  185. struct TFVShowInfo
  186. {
  187.     int cbSize;
  188.     HWND hwndOwner;
  189.     int iShow;
  190.     int dwFlags;
  191.     Windows::TRect rect;
  192.     Ole2::IUnknown* punkRel;
  193.     wchar_t strNewFile[260];
  194. } ;
  195. #pragma pack(pop)
  196.  
  197. class __declspec(delphiclass) IFileViewer;
  198. class __declspec(pascalimplementation) IFileViewer : public Ole2::IUnknown
  199. {
  200.     typedef Ole2::IUnknown inherited;
  201.     
  202. public:
  203.     virtual long __stdcall ShowInitialize(IFileViewerSite* fsi) = 0;
  204.     virtual long __stdcall Show(TFVShowInfo &pvsi) = 0;
  205.     virtual long __stdcall PrintTo(char * pszDriver, DWord fSuppressUI) = 0;
  206. public:
  207.     /* TObject.Create */ __fastcall IFileViewer(void) : Ole2::IUnknown() { }
  208.     /* TObject.Destroy */ __fastcall virtual ~IFileViewer(void) { }
  209.     
  210. };
  211.  
  212. struct TStrRet;
  213. typedef TStrRet *PSTRRet;
  214.  
  215. #pragma pack(push, 1)
  216. struct TStrRet
  217. {
  218.     int uType;
  219.     union
  220.     {
  221.         char cStr[260];
  222.         int uOffset;
  223.         wchar_t *pOleStr;
  224.         
  225.     };
  226. } ;
  227. #pragma pack(pop)
  228.  
  229. typedef int __stdcall (*TFNBFFCallBack)(HWND Wnd, int uMsg, long lParam, long lpData);
  230.  
  231. struct TBrowseInfo;
  232. typedef TBrowseInfo *PBrowseInfo;
  233.  
  234. #pragma pack(push, 1)
  235. struct TBrowseInfo
  236. {
  237.     HWND hwndOwner;
  238.     TItemIDList *pidlRoot;
  239.     char *pszDisplayName;
  240.     char *lpszTitle;
  241.     int ulFlags;
  242.     TFNBFFCallBack lpfn;
  243.     long lParam;
  244.     int iImage;
  245. } ;
  246. #pragma pack(pop)
  247.  
  248. class __declspec(delphiclass) IEnumIDList;
  249. class __declspec(pascalimplementation) IEnumIDList : public Ole2::IUnknown
  250. {
  251.     typedef Ole2::IUnknown inherited;
  252.     
  253. public:
  254.     virtual long __stdcall Next(Cardinal celt, PItemIDList &rgelt, Cardinal &pceltFetched) = 0;
  255.     virtual long __stdcall Skip(Cardinal celt) = 0;
  256.     virtual long __stdcall Reset(void) = 0;
  257.     virtual long __stdcall Clone(IEnumIDList* &ppenum) = 0;
  258. public:
  259.     /* TObject.Create */ __fastcall IEnumIDList(void) : Ole2::IUnknown() { }
  260.     /* TObject.Destroy */ __fastcall virtual ~IEnumIDList(void) { }
  261.     
  262. };
  263.  
  264. class __declspec(delphiclass) IShellFolder;
  265. class __declspec(pascalimplementation) IShellFolder : public Ole2::IUnknown
  266. {
  267.     typedef Ole2::IUnknown inherited;
  268.     
  269. public:
  270.     virtual long __stdcall ParseDisplayName(HWND hwndOwne